/*****************************************************************************
 * 例程名称		 : 空工程
 * 说明         : 新建项目可以直接复制空工程开始编程。
 * 接线方式     : ---
 * 注意    		 : ---
 *******************************************************************************/

//--包含你要使用的头文件--//
#include "config.h" //通用配置头文件
#include "isr.h"

/* 稳定按键事件标记 */
volatile uint32_t keyPressEvent = 0;
/* 编码器旋转计数 */
volatile uint32_t rotateCounter = 0;
/* UART接收缓冲区 */
volatile uint8_t uart_rxdat[3];
/* UART接收状态机 */
volatile uint8_t uart_sm = 0;
/* UART接收完成标志 */
volatile uint8_t UART0_flag = 0;
/* ADC结果 */
volatile uint16_t gAdcResult = 0;
/* ADC完成标志 */
volatile uint16_t gCheckADC = 0; 
/*************  本地常量声明    **************/
/*************  IO口定义    **************/
/*************  本地变量声明    **************/
/*************  本地函数声明    **************/
/****************  外部函数声明和外部变量声明 *****************/
/*******************************************************************************
 * 函 数 名         : main
 * 函数功能		     : 主函数
 * 输    入         : 无
 * 输    出         : 无
 *******************************************************************************/
int main(void)
{
	System_init(); // 天才第一步，使用SysConfig配置文件进行初始化。
#ifdef DEBUG	   // 调试模式下，检查GPIO是否复位和上电
#include <assert.h>
	assert(DL_GPIO_isReset(LED_PORT));
	assert(DL_GPIO_isPowerEnabled(LED_PORT));
#endif
	set_systick_ms(1);					  // 设置SysTick中断周期为1ms
	NVIC_EnableIRQ(UART_0_INST_INT_IRQN); // 使能UART中断
	NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN); // 使能ADC中断
	DL_ADC12_startConversion(ADC12_0_INST);
	while (1)
	{
		rotateCounter = DL_TimerG_getTimerCount(COMPARE_0_INST); // 读取编码器计数
		if (gCheckADC)
		{
			gCheckADC = 0;
			gAdcResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
		}
	}

	return 0;
}
